home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / sopmtr.z / sopmtr
Encoding:
Text File  |  2002-10-03  |  4.2 KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSOOOOPPPPMMMMTTTTRRRR((((3333SSSS))))                                                          SSSSOOOOPPPPMMMMTTTTRRRR((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SOPMTR - overwrite the general real M-by-N matrix C with  SIDE = 'L' SIDE
  10.      = 'R' TRANS = 'N'
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE SOPMTR( SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO )
  14.  
  15.          CHARACTER      SIDE, TRANS, UPLO
  16.  
  17.          INTEGER        INFO, LDC, M, N
  18.  
  19.          REAL           AP( * ), C( LDC, * ), TAU( * ), WORK( * )
  20.  
  21. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  22.      These routines are part of the SCSL Scientific Library and can be loaded
  23.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  24.      directs the linker to use the multi-processor version of the library.
  25.  
  26.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  27.      4 bytes (32 bits). Another version of SCSL is available in which integers
  28.      are 8 bytes (64 bits).  This version allows the user access to larger
  29.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  30.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  31.      only one of the two versions; 4-byte integer and 8-byte integer library
  32.      calls cannot be mixed.
  33.  
  34. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  35.      SOPMTR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE =
  36.      'R' TRANS = 'N': Q * C C * Q TRANS = 'T':      Q**T * C       C * Q**T
  37.  
  38.      where Q is a real orthogonal matrix of order nq, with nq = m if SIDE =
  39.      'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1
  40.      elementary reflectors, as returned by SSPTRD using packed storage:
  41.  
  42.      if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
  43.  
  44.      if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
  45.  
  46.  
  47. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  48.      SIDE    (input) CHARACTER*1
  49.              = 'L': apply Q or Q**T from the Left;
  50.              = 'R': apply Q or Q**T from the Right.
  51.  
  52.      UPLO    (input) CHARACTER*1
  53.              = 'U': Upper triangular packed storage used in previous call to
  54.              SSPTRD; = 'L': Lower triangular packed storage used in previous
  55.              call to SSPTRD.
  56.  
  57.      TRANS   (input) CHARACTER*1
  58.              = 'N':  No transpose, apply Q;
  59.              = 'T':  Transpose, apply Q**T.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSOOOOPPPPMMMMTTTTRRRR((((3333SSSS))))                                                          SSSSOOOOPPPPMMMMTTTTRRRR((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      M       (input) INTEGER
  75.              The number of rows of the matrix C. M >= 0.
  76.  
  77.      N       (input) INTEGER
  78.              The number of columns of the matrix C. N >= 0.
  79.  
  80.      AP      (input) REAL array, dimension
  81.              (M*(M+1)/2) if SIDE = 'L' (N*(N+1)/2) if SIDE = 'R' The vectors
  82.              which define the elementary reflectors, as returned by SSPTRD.
  83.              AP is modified by the routine but restored on exit.
  84.  
  85.      TAU     (input) REAL array, dimension (M-1) if SIDE = 'L'
  86.              or (N-1) if SIDE = 'R' TAU(i) must contain the scalar factor of
  87.              the elementary reflector H(i), as returned by SSPTRD.
  88.  
  89.      C       (input/output) REAL array, dimension (LDC,N)
  90.              On entry, the M-by-N matrix C.  On exit, C is overwritten by Q*C
  91.              or Q**T*C or C*Q**T or C*Q.
  92.  
  93.      LDC     (input) INTEGER
  94.              The leading dimension of the array C. LDC >= max(1,M).
  95.  
  96.      WORK    (workspace) REAL array, dimension
  97.              (N) if SIDE = 'L' (M) if SIDE = 'R'
  98.  
  99.      INFO    (output) INTEGER
  100.              = 0:  successful exit
  101.              < 0:  if INFO = -i, the i-th argument had an illegal value
  102.  
  103. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  104.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  105.  
  106.      This man page is available only online.
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.